package com.ningxun.pagent.bus.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.ningxun.pagent.common.annotation.Excel;
import com.ningxun.pagent.common.core.domain.BaseEntity;

/**
 * 政策内容对象 bus_policy_content
 *
 * @author pagent
 * @date 2025-07-10
 */
public class WechatPolicyContentVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long policyId;

    /** 政策标题 */
    @Excel(name = "政策标题")
    private String title;

    /** 政策内容 富文本 */
    @Excel(name = "政策内容" ,handler = com.ningxun.pagent.common.utils.poi.Html2TextHandler.class)
    private String content;

    /** 失效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationTime;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyTime;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date delTime;

    /** 失效状态：1）正常 0）过期或删除 */
    @Excel(name = "失效状态", dictType = "bus_invalid_state")
    private Long invalidState;

    /** 政策类型  若依字典 */
    @Excel(name = "政策类型", dictType = "sys_policy_type")
    private Long policyType;

    /** 1未审核 0已通过 2驳回 */
    @Excel(name = "审核状态", dictType = "bus_approve_state")
    private Long approveStatus;

    /** 政策创建人id */

    private Long creatorId;

    /** 政策创建人的用户名 */
    @Excel(name = "创建人用户名")
    private String creatorName;

    /** 审批类型 */
    @Excel(name = "审批类型")
    private String type;

    /** 节点编码 */
    @Excel(name = "节点编码")
    private String nodeCode;

    /** 流程节点名称 */
    @Excel(name = "流程节点名称")
    private String nodeName;

    /** 节点类型 */
    @Excel(name = "节点类型")
    private Long nodeType;

    /** 流程状态 */
    @Excel(name = "流程状态")
    private String flowStatus;

    /** 流程实例id */
    @Excel(name = "流程实例id")
    private Long instanceId;

    public void setPolicyId(Long policyId)
    {
        this.policyId = policyId;
    }

    public Long getPolicyId()
    {
        return policyId;
    }

    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }

    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }

    public void setExpirationTime(Date expirationTime)
    {
        this.expirationTime = expirationTime;
    }

    public Date getExpirationTime()
    {
        return expirationTime;
    }

    public void setModifyTime(Date modifyTime)
    {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime()
    {
        return modifyTime;
    }

    public void setDelTime(Date delTime)
    {
        this.delTime = delTime;
    }

    public Date getDelTime()
    {
        return delTime;
    }

    public void setInvalidState(Long invalidState)
    {
        this.invalidState = invalidState;
    }

    public Long getInvalidState()
    {
        return invalidState;
    }

    public void setPolicyType(Long policyType)
    {
        this.policyType = policyType;
    }

    public Long getPolicyType()
    {
        return policyType;
    }

    public void setApproveStatus(Long approveStatus)
    {
        this.approveStatus = approveStatus;
    }

    public Long getApproveStatus()
    {
        return approveStatus;
    }

    public void setCreatorId(Long creatorId)
    {
        this.creatorId = creatorId;
    }

    public Long getCreatorId()
    {
        return creatorId;
    }

    public void setCreatorName(String creatorName)
    {
        this.creatorName = creatorName;
    }

    public String getCreatorName()
    {
        return creatorName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getNodeCode() {
        return nodeCode;
    }

    public void setNodeCode(String nodeCode) {
        this.nodeCode = nodeCode;
    }

    public String getNodeName() {
        return nodeName;
    }

    public void setNodeName(String nodeName) {
        this.nodeName = nodeName;
    }

    public Long getNodeType() {
        return nodeType;
    }

    public void setNodeType(Long nodeType) {
        this.nodeType = nodeType;
    }

    public String getFlowStatus() {
        return flowStatus;
    }

    public void setFlowStatus(String flowStatus) {
        this.flowStatus = flowStatus;
    }

    public Long getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(Long instanceId) {
        this.instanceId = instanceId;
    }
}
